/* 分模块管理 : 不同的功能卸载不同的文件中
* index.html : 唯一的一个页面 (Singal Page Application) 入口文件
* core.js    : EventBus Route onload onhashchange
* route.js   : 编写 path 和 文件.js  之间的关系  {"/home" : "./home.js"}
* */

import {routes} from "./routes.js";      //注册路由
import {EventBus} from "./eventbus.js";  //事件总线
import {Router} from "./routesystem.js"; //路由系统对象 Router.navigate()

//==============================1.初始化加载========================================================
window.addEventListener('load', function(){
    //自动注入路由
    routes.forEach(function(obj){
        if(obj.children === null){ //没有孩子
            Router.addRoute(obj.path,function(){return import(obj.loader)});
        }else{//有孩子
            Router.addRoute(obj.path,function(){return import(obj.loader)});
            obj.children.forEach(function(childObj){
                Router.addRoute(childObj.path,function(){return import(childObj.loader)});
            })
        }
    });

    //订阅
    EventBus.on("route:change",function(pathObj){
        console.log("路由修改成了 : " + pathObj.path);
    });

    EventBus.on("route:404",function(text){
        var contentDiv = document.querySelector('.content');
        contentDiv.innerHTML = text;

        EventBus.emit("component:rendered", "404");
    });

    EventBus.on("component:rendered",function(name){
        console.log("当前页面加载了模块 : " + name);
    });

    //启用导航
    Router.navigate();
});




